% By: Carmen Guerra Garcia
% Date: March 27th 2019

%Description: This script reads a raw video file (.mov), extracts frames
%from it, determines corona as the region of maximum
%intensity and tracks total intensity 

 clear all
 close all
 clc

workingDir = tempname;
mkdir(workingDir);
mkdir(workingDir,'images');

filenames= {'03282019_wp4_PS13'};

for k=1

data = VideoReader([filenames{k} , '.mov']);

NN = data.NumberOfFrames;

for ii = 600:50:8690
    img = read(data,ii)-read(data,18100);
    imwrite(img,fullfile(workingDir,'images',sprintf('img%d.jpg',ii)));
end
imageNames = dir(fullfile(workingDir,'images','*.jpg'));
imageNames = {imageNames.name}';

imageStrings = regexp([imageNames{:}],'(\d*)','match');
imageNumbers = str2double(imageStrings);
[~,sortedIndices] = sort(imageNumbers);
sortedImageNames = imageNames(sortedIndices);

for ii=1:length(sortedImageNames)
img = imread(fullfile(workingDir,'images',sortedImageNames{ii}));

Irr(ii) = sum(sum(img(290:350,800:1200,1),'omitnan'));

end

Nframe = [600:50:8690];

tt = Nframe./29.97./60; %min

plot(tt,Irr./max(Irr))

grid on

hold on

xlabel('Time [s]')
ylabel('Relative intensity [au]')


TU = [0.384 0.85 1.44 1.97 2.37 2.8 3.22 3.62 4.47];
U  = [0    10    20    25    30    35    40    45    50]';
Utxt = num2str(U);


IU(1:length(TU)) = nan;
for kk=1:length(TU)
IU(kk) = interp1(tt,Irr./max(Irr),TU(kk)); 
end

plot(TU,IU,'ro')
for kk=1:length(TU)
text(TU(kk)+0.1, IU(kk)+0.05, ['U=' Utxt(kk,1:2) 'm/s'] )
end


end














